\hypertarget{class_abstract_factory}{}\doxysection{Abstract\+Factory Class Reference}
\label{class_abstract_factory}\index{AbstractFactory@{AbstractFactory}}


{\ttfamily \#include $<$D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+h$>$}

Inheritance diagram for Abstract\+Factory\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{class_abstract_factory}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{class_abstract_factory_a0ce427e8246baff926f0945d370bb419}{$\sim$\+Abstract\+Factory}} ()=0
\item 
\mbox{\hyperlink{class_abstract_computer}{Abstract\+Computer}} $\ast$ \mbox{\hyperlink{class_abstract_factory_abdc7e42931561b9e59629a4bd0026c68}{Create\+Desktop\+Computer\+Normal}} ()
\item 
virtual \mbox{\hyperlink{class_mouse}{Mouse}} $\ast$ \mbox{\hyperlink{class_abstract_factory_ab988a1ff535f4c2f0ea6bd3cfe418745}{Create\+Mouse}} ()=0
\item 
virtual \mbox{\hyperlink{class_keyboard}{Keyboard}} $\ast$ \mbox{\hyperlink{class_abstract_factory_aa10a0fd3ef457c7b9397c0a2001d86d4}{Create\+Keyboard}} ()=0
\item 
virtual \mbox{\hyperlink{class_monitor}{Monitor}} $\ast$ \mbox{\hyperlink{class_abstract_factory_ab7853111b7db910e0a8953aa062bdf2c}{Create\+Monitor}} ()=0
\item 
virtual \mbox{\hyperlink{class_host}{Host}} $\ast$ \mbox{\hyperlink{class_abstract_factory_a5f87d3ac2fdef80bd009e26b7130e5fb}{Create\+Host}} ()=0
\item 
\mbox{\hyperlink{_product_def_8h_ac73ca32847343c10f73f1fa0b7b6ae3c}{M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE}} \mbox{\hyperlink{class_abstract_factory_aa3d5b31d31c868bc633c30218e03d856}{Get\+Manufacturer}} ()
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_abstract_factory_aa409227a1b03127758a6038c2a959abe}{Abstract\+Factory}} (\mbox{\hyperlink{_product_def_8h_ac73ca32847343c10f73f1fa0b7b6ae3c}{M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE}} e\+Manufacturer)
\item 
\mbox{\hyperlink{_my_self_def_8h_a7927e087749615dae3114cc27b91c86d}{V\+O\+ID}} \mbox{\hyperlink{class_abstract_factory_aa6b4a6965504d36aeb31ca9980649e09}{Set\+Manufacturer}} (\mbox{\hyperlink{_product_def_8h_ac73ca32847343c10f73f1fa0b7b6ae3c}{M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE}} e\+Manufacturer)
\end{DoxyCompactItemize}
\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_abstract_factory_a93bbe0d54db0a5c38d4be6b502f3ae4d}{Abstract\+Factory}} (const \mbox{\hyperlink{class_abstract_factory}{Abstract\+Factory}} \&c\+Abstract\+Factory)
\item 
\mbox{\hyperlink{class_abstract_factory}{Abstract\+Factory}} \& \mbox{\hyperlink{class_abstract_factory_aed400af527dfb1fd42eb320f21aae14d}{operator=}} (const \mbox{\hyperlink{class_abstract_factory}{Abstract\+Factory}} \&c\+Abstract\+Factory)
\end{DoxyCompactItemize}
\doxysubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_product_def_8h_ac73ca32847343c10f73f1fa0b7b6ae3c}{M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE}} \mbox{\hyperlink{class_abstract_factory_af8b5aab716692ea2c55c1fd7dff74b05}{m\+\_\+e\+Manufacturer}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


Definition at line 20 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+h.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_abstract_factory_a0ce427e8246baff926f0945d370bb419}\label{class_abstract_factory_a0ce427e8246baff926f0945d370bb419}} 
\index{AbstractFactory@{AbstractFactory}!````~AbstractFactory@{$\sim$AbstractFactory}}
\index{````~AbstractFactory@{$\sim$AbstractFactory}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{$\sim$AbstractFactory()}{~AbstractFactory()}}
{\footnotesize\ttfamily Abstract\+Factory\+::$\sim$\+Abstract\+Factory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Destruction


\begin{DoxyParams}{Parameters}
{\em V\+O\+ID} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}


Definition at line 52 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+cpp.

\mbox{\Hypertarget{class_abstract_factory_aa409227a1b03127758a6038c2a959abe}\label{class_abstract_factory_aa409227a1b03127758a6038c2a959abe}} 
\index{AbstractFactory@{AbstractFactory}!AbstractFactory@{AbstractFactory}}
\index{AbstractFactory@{AbstractFactory}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{AbstractFactory()}{AbstractFactory()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Abstract\+Factory\+::\+Abstract\+Factory (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{_product_def_8h_ac73ca32847343c10f73f1fa0b7b6ae3c}{M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE}}}]{e\+Manufacturer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}

Construction


\begin{DoxyParams}{Parameters}
{\em M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE} & e\+Manufacturer \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
Construction


\begin{DoxyParams}{Parameters}
{\em V\+O\+ID} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}


Definition at line 40 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+cpp.

\mbox{\Hypertarget{class_abstract_factory_a93bbe0d54db0a5c38d4be6b502f3ae4d}\label{class_abstract_factory_a93bbe0d54db0a5c38d4be6b502f3ae4d}} 
\index{AbstractFactory@{AbstractFactory}!AbstractFactory@{AbstractFactory}}
\index{AbstractFactory@{AbstractFactory}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{AbstractFactory()}{AbstractFactory()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Abstract\+Factory\+::\+Abstract\+Factory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_abstract_factory}{Abstract\+Factory}} \&}]{c\+Abstract\+Factory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Copy Construction


\begin{DoxyParams}{Parameters}
{\em const} & \mbox{\hyperlink{class_abstract_factory}{Abstract\+Factory}}\& c\+Abstract\+Factory \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_abstract_factory_abdc7e42931561b9e59629a4bd0026c68}\label{class_abstract_factory_abdc7e42931561b9e59629a4bd0026c68}} 
\index{AbstractFactory@{AbstractFactory}!CreateDesktopComputerNormal@{CreateDesktopComputerNormal}}
\index{CreateDesktopComputerNormal@{CreateDesktopComputerNormal}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{CreateDesktopComputerNormal()}{CreateDesktopComputerNormal()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_abstract_computer}{Abstract\+Computer}} $\ast$ Abstract\+Factory\+::\+Create\+Desktop\+Computer\+Normal (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Create Computer


\begin{DoxyParams}{Parameters}
{\em V\+O\+ID} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Abstract\+Computer$\ast$ 
\end{DoxyReturn}
\begin{DoxyNote}{Note}

\end{DoxyNote}


Definition at line 66 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+cpp.

\mbox{\Hypertarget{class_abstract_factory_a5f87d3ac2fdef80bd009e26b7130e5fb}\label{class_abstract_factory_a5f87d3ac2fdef80bd009e26b7130e5fb}} 
\index{AbstractFactory@{AbstractFactory}!CreateHost@{CreateHost}}
\index{CreateHost@{CreateHost}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{CreateHost()}{CreateHost()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_host}{Host}} $\ast$ Abstract\+Factory\+::\+Create\+Host (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Create \mbox{\hyperlink{class_host}{Host}}


\begin{DoxyParams}{Parameters}
{\em V\+O\+ID} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Host$\ast$ 
\end{DoxyReturn}
\begin{DoxyNote}{Note}

\end{DoxyNote}


Implemented in \mbox{\hyperlink{class_m_i_x_factory_a188a3a9028be47d3ab4a79a3e08a296c}{M\+I\+X\+Factory}}, \mbox{\hyperlink{class_h_p_factory_ab9ae1470b9ed1fac365b75d4826abd0d}{H\+P\+Factory}}, \mbox{\hyperlink{class_a_s_u_s_factory_a3afbba7db45485c3fc34d7ea72708451}{A\+S\+U\+S\+Factory}}, and \mbox{\hyperlink{class_d_e_l_l_factory_a022482e7d119e327ae6df91e6dbd8ed9}{D\+E\+L\+L\+Factory}}.



Definition at line 125 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+cpp.

\mbox{\Hypertarget{class_abstract_factory_aa10a0fd3ef457c7b9397c0a2001d86d4}\label{class_abstract_factory_aa10a0fd3ef457c7b9397c0a2001d86d4}} 
\index{AbstractFactory@{AbstractFactory}!CreateKeyboard@{CreateKeyboard}}
\index{CreateKeyboard@{CreateKeyboard}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{CreateKeyboard()}{CreateKeyboard()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_keyboard}{Keyboard}} $\ast$ Abstract\+Factory\+::\+Create\+Keyboard (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Create \mbox{\hyperlink{class_keyboard}{Keyboard}}


\begin{DoxyParams}{Parameters}
{\em V\+O\+ID} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Keyboard$\ast$ 
\end{DoxyReturn}
\begin{DoxyNote}{Note}

\end{DoxyNote}


Implemented in \mbox{\hyperlink{class_m_i_x_factory_a635c8bd61ec834e93bece151a160cd1f}{M\+I\+X\+Factory}}, \mbox{\hyperlink{class_h_p_factory_aef72175d13cb0929213e615637320913}{H\+P\+Factory}}, \mbox{\hyperlink{class_a_s_u_s_factory_a5be756a45a3c95d9cd04675835158808}{A\+S\+U\+S\+Factory}}, and \mbox{\hyperlink{class_d_e_l_l_factory_af8a559cf419e20c08838bb2a9f982f2d}{D\+E\+L\+L\+Factory}}.



Definition at line 95 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+cpp.

\mbox{\Hypertarget{class_abstract_factory_ab7853111b7db910e0a8953aa062bdf2c}\label{class_abstract_factory_ab7853111b7db910e0a8953aa062bdf2c}} 
\index{AbstractFactory@{AbstractFactory}!CreateMonitor@{CreateMonitor}}
\index{CreateMonitor@{CreateMonitor}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{CreateMonitor()}{CreateMonitor()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_monitor}{Monitor}} $\ast$ Abstract\+Factory\+::\+Create\+Monitor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Create \mbox{\hyperlink{class_monitor}{Monitor}}


\begin{DoxyParams}{Parameters}
{\em V\+O\+ID} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Monitor$\ast$ 
\end{DoxyReturn}
\begin{DoxyNote}{Note}

\end{DoxyNote}


Implemented in \mbox{\hyperlink{class_m_i_x_factory_a50b1452a9ef800994ce47b2d43759698}{M\+I\+X\+Factory}}, \mbox{\hyperlink{class_h_p_factory_a3222fa23da177618b79d7e2762ac0ee6}{H\+P\+Factory}}, \mbox{\hyperlink{class_a_s_u_s_factory_ab52cf7f9d7018605315572dbdba85664}{A\+S\+U\+S\+Factory}}, and \mbox{\hyperlink{class_d_e_l_l_factory_ac07df15cbb5cbe9ca83fb562dd8990aa}{D\+E\+L\+L\+Factory}}.



Definition at line 110 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+cpp.

\mbox{\Hypertarget{class_abstract_factory_ab988a1ff535f4c2f0ea6bd3cfe418745}\label{class_abstract_factory_ab988a1ff535f4c2f0ea6bd3cfe418745}} 
\index{AbstractFactory@{AbstractFactory}!CreateMouse@{CreateMouse}}
\index{CreateMouse@{CreateMouse}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{CreateMouse()}{CreateMouse()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_mouse}{Mouse}} $\ast$ Abstract\+Factory\+::\+Create\+Mouse (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Create \mbox{\hyperlink{class_mouse}{Mouse}}


\begin{DoxyParams}{Parameters}
{\em V\+O\+ID} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Mouse$\ast$ 
\end{DoxyReturn}
\begin{DoxyNote}{Note}

\end{DoxyNote}


Implemented in \mbox{\hyperlink{class_m_i_x_factory_af1809112b68306569cb752532faebfb4}{M\+I\+X\+Factory}}, \mbox{\hyperlink{class_h_p_factory_a28d0bfdbd9be99e66fc0f7f7f5b20d49}{H\+P\+Factory}}, \mbox{\hyperlink{class_a_s_u_s_factory_a84beb96edd3ce08bc17adfa1947e0c2e}{A\+S\+U\+S\+Factory}}, and \mbox{\hyperlink{class_d_e_l_l_factory_a72e77d1aaa0d225e28075d43dde267f1}{D\+E\+L\+L\+Factory}}.



Definition at line 80 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+cpp.

\mbox{\Hypertarget{class_abstract_factory_aa3d5b31d31c868bc633c30218e03d856}\label{class_abstract_factory_aa3d5b31d31c868bc633c30218e03d856}} 
\index{AbstractFactory@{AbstractFactory}!GetManufacturer@{GetManufacturer}}
\index{GetManufacturer@{GetManufacturer}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{GetManufacturer()}{GetManufacturer()}}
{\footnotesize\ttfamily \mbox{\hyperlink{_product_def_8h_ac73ca32847343c10f73f1fa0b7b6ae3c}{M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE}} Abstract\+Factory\+::\+Get\+Manufacturer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Get\+Manufacturer


\begin{DoxyParams}{Parameters}
{\em V\+O\+ID} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE 
\end{DoxyReturn}


Definition at line 152 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+cpp.

\mbox{\Hypertarget{class_abstract_factory_aed400af527dfb1fd42eb320f21aae14d}\label{class_abstract_factory_aed400af527dfb1fd42eb320f21aae14d}} 
\index{AbstractFactory@{AbstractFactory}!operator=@{operator=}}
\index{operator=@{operator=}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_abstract_factory}{Abstract\+Factory}}\& Abstract\+Factory\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_abstract_factory}{Abstract\+Factory}} \&}]{c\+Abstract\+Factory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Assignment


\begin{DoxyParams}{Parameters}
{\em const} & \mbox{\hyperlink{class_abstract_factory}{Abstract\+Factory}}\& c\+Abstract\+Factory \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{class_abstract_factory}{Abstract\+Factory}}\& 
\end{DoxyReturn}
\mbox{\Hypertarget{class_abstract_factory_aa6b4a6965504d36aeb31ca9980649e09}\label{class_abstract_factory_aa6b4a6965504d36aeb31ca9980649e09}} 
\index{AbstractFactory@{AbstractFactory}!SetManufacturer@{SetManufacturer}}
\index{SetManufacturer@{SetManufacturer}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{SetManufacturer()}{SetManufacturer()}}
{\footnotesize\ttfamily \mbox{\hyperlink{_my_self_def_8h_a7927e087749615dae3114cc27b91c86d}{V\+O\+ID}} Abstract\+Factory\+::\+Set\+Manufacturer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{_product_def_8h_ac73ca32847343c10f73f1fa0b7b6ae3c}{M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE}}}]{e\+Manufacturer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}

Set\+Manufacturer


\begin{DoxyParams}{Parameters}
{\em M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE} & e\+Manufacturer \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}


Definition at line 139 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+cpp.



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{class_abstract_factory_af8b5aab716692ea2c55c1fd7dff74b05}\label{class_abstract_factory_af8b5aab716692ea2c55c1fd7dff74b05}} 
\index{AbstractFactory@{AbstractFactory}!m\_eManufacturer@{m\_eManufacturer}}
\index{m\_eManufacturer@{m\_eManufacturer}!AbstractFactory@{AbstractFactory}}
\doxysubsubsection{\texorpdfstring{m\_eManufacturer}{m\_eManufacturer}}
{\footnotesize\ttfamily \mbox{\hyperlink{_product_def_8h_ac73ca32847343c10f73f1fa0b7b6ae3c}{M\+A\+N\+U\+F\+A\+C\+T\+U\+R\+E\+R\+\_\+\+T\+Y\+PE}} Abstract\+Factory\+::m\+\_\+e\+Manufacturer\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 121 of file D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+h.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
C\+:/96\+\_\+project/\+Design\+Pattern/\+Abstract\+Factory/groupinc/\mbox{\hyperlink{_d_e_s_i_g_n_p_a_t_t_e_r_n___abstract_factory_8h}{D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+h}}\item 
C\+:/96\+\_\+project/\+Design\+Pattern/\+Abstract\+Factory/\mbox{\hyperlink{_d_e_s_i_g_n_p_a_t_t_e_r_n___abstract_factory_8cpp}{D\+E\+S\+I\+G\+N\+P\+A\+T\+T\+E\+R\+N\+\_\+\+Abstract\+Factory.\+cpp}}\end{DoxyCompactItemize}
